<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Document</title>
  </head>
  <body>
    <div id="app">
      <input v-model="num1" type="text" />
      <span>*</span>
      <input v-model="num2" type="text" />
      <span>=</span>
      <span>{{ result }}</span>

      <div>{{ result }}</div>
      <div>{{ result }}</div>
      <div>{{ result }}</div>
      <div>{{ result }}</div>
      <div>{{ result }}</div>
    </div>
    <script src="./vue.js"></script>
    <script>
      new Vue({
        el: "#app",
        data: {
          num1: 0,
          num2: 0,
        },
        computed: {
          result() {
            console.log("result被调用了");
            return Number(this.num1) * Number(this.num2);
          },
        },
      });
      //计算属性有缓存
      //只有第一次时会调用，然后经过计算得到一个结果，然后会把结果缓存起来
      //后面用是直接从缓存里取得
      //当他里面的任何一个依赖项发生改变，就会重新调用来得到一个新的结果，并把新的结果再缓存起来
      //什么叫依赖项？就是计算属性内部用到的别的数据，例如这个计算属性用了两个数据num1，num2
      //那么num1和num2都能称之为这个计算属性的依赖项，当他们任何一个发生改变，都会重新调用计算结果再缓存
    </script>
  </body>
</html>
